<?php
/***************************************************************
*  Copyright notice
*
*  (c) 2011 Florian Müller <it-admin@ifp-potsdam.co>, IFP
*  
*  All rights reserved
*
*  This script is part of the TYPO3 project. The TYPO3 project is
*  free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 3 of the License, or
*  (at your option) any later version.
*
*  The GNU General Public License can be found at
*  http://www.gnu.org/copyleft/gpl.html.
*
*  This script is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/


/**
 * Repository for Tx_IfpCurriculum2_Domain_Model_Semester
 */
class Tx_IfpCurriculum2_Domain_Repository_SemesterRepository extends Tx_Extbase_Persistence_Repository {
/**
 * 
 * Liegert Semetser in der zukunft ink aktuelles semester. Count gibt an wieviele semester in die zukunft es gehen soll
 * @param integer $count
 */
 public function getSemInFuture($count){
 	$query = $this->createQuery();
	return $query->matching($query->greaterThan('endedatum',time()))->setLimit($count)->execute();
	//+7776000
 }
/**
 * 
* Gibt aktuelles semeter
*  @return Tx_IfpCurriculum2_Domain_Model_Semester
 */
 public function getSemCurrent(){
 	
$query = $this->createQuery();
	return $query->matching($query->logicalAnd($query->greaterThan('endedatum',time()),$query->lessThan('anfangdatum',time())))->execute()->getFirst();
	
	
 }
/**
 * 
* Gibt aktuelles semeter
*@param DateTime $datum
*  @return Tx_IfpCurriculum2_Domain_Model_Semester
 */
 public function getSembyTime(DateTime $datum){
 	$query = $this->createQuery();
	return $query->matching($query->logicalAnd($query->greaterThan('endedatum',$datum),$query->lessThan('anfangdatum',$datum)))->execute()->getFirst();
	
 }
/**
 * 
 * Enter description here ...
 * @param Tx_IfpCurriculum2_Domain_Model_Semester $semester
 * @return Tx_IfpCurriculum2_Domain_Model_Semester
 */
 public function getVorSem(Tx_IfpCurriculum2_Domain_Model_Semester $semester){
 	$query = $this->createQuery();
	return $query->matching($query->lessThan('endedatum',$semester->getAnfangdatum()))->setOrderings(array("anfangdatum"=>Tx_Extbase_Persistence_QueryInterface::ORDER_DESCENDING))->execute()->getFirst();
 		
 }
/**
 * 
 * Enter description here ...
 * @param Tx_IfpCurriculum2_Domain_Model_Semester $semester
 * @return Tx_IfpCurriculum2_Domain_Model_Semester
 */
 public function getNachSem(Tx_IfpCurriculum2_Domain_Model_Semester $semester){
 	$query = $this->createQuery();
	return $query->matching($query->greaterThan('anfangdatum',$semester->getEndedatum()))->setOrderings(array("anfangdatum"=>Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING))->execute()->getFirst();
	
 }
 
	

}
?>